package com.kws.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.kws.common.core.domain.R;
import com.kws.system.domain.SysMessageManage;
import com.kws.system.domain.SysMessageRemind;
import com.kws.system.domain.info.QueryMessageRemindInfo;
import com.kws.system.domain.vo.*;
import org.apache.poi.ss.formula.functions.T;

public interface SysMessageRemindService extends IService<SysMessageRemind> {
    Page<QueryMessageRemindInfo> queryMessageRemindPage(Integer pageNum, Integer pageSize, String messageName);

    boolean createMessageRemind(SysMessageManage sysMessageManage);

    QueryMessageRemindInfo queryMessageRemindById(Long id);

    boolean deleteMessageRemindById(Long id);

    R CreateCheckGoodsOrderMessageRq(CreateCheckGoodsOrderMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    R createCheckServeOrderMessage(CreateCheckServeOrderMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    R createInviteEvaluationMessage(CreateInviteEvaluationMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    R createPaymentReminderMessage(CreatePaymentReminderMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    R createPostSalesServiceMessage(CreatePostSalesServiceMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    R createDeviceAlarmMessage(CreateDeviceAlarmMessageRq rq) throws NoSuchFieldException, IllegalAccessException;

    <E> R createMessageNotification(E body) throws NoSuchFieldException, IllegalAccessException;
}
